Getting Started

Access

First things first, you'll need access. Our self sign-up page is coming soon, so in the meantime please email api.queries@metservice.com with the following information:

First Name:

Last Name:

Email Address:

Company/Organisation:

Intended Use (including whether commercial or non-commercial):

API of interest or Requested Data:

Base URL

The following base URL is used to access the MetService APIs:

https://api.metservice.com

All communications with the APIs are via HTTPS to help protect the keys in transit. For simplicity in the API documentation all the URL paths are presented as relative paths from the base URL.

Security

All communications with the API services are via HTTPS to protect the keys or tokens in transit.

Currently all MetService APIs are secured in one of two ways:

API Keys

By provision of an API Key provided on an HTTP header of type "apikey".

Each customer application has their own unique API key to allow usage to be tracked.To get access to the APIs you will need to register your application with MetService.

API Key authentication is performed against the Gateway Developer Portal database using standard gateway assertions. An API Key is assigned when an Application is configured within the Gateway Developer Portal for the API customer. The API customers Application must have this API assigned to it for use.

Example:

apiKey: l7xx2c4b9096debf47bca352d84a6ef46139

Bearer Tokens

By provision of a Bearer token provided on an HTTP header of type "Authorization"

Bearer token authentication is performed by validating and decoding against a JWKS (JSON Web Key Set). Currently an OKTA and MetConnect JWKS are supported. The bearer token will have been assigned when the API user or application authenticated against another Authentication service.

Example:

Authorization: Bearer eyJraWQiOiJGMWxFYXVBQkhjODFiR3gtcTBna08zZkV5WWJqRXluRWJkTW5DWFFDYjhzIiwiYWxnIjoiUlMyNTYifQ.eyJ2ZXIiOjEsImp0aSI6IkFULnc5ZDhGZnY5UHdRSVBJeWVXdUtNTWFxRUw0OG81LXdUTG1waFQzSEpTOEEiLCJpc3MiOiJodHRwczovL21ldHJhd2VhdGhlci5va3RhLmNvbS9vYXV0aDIvZGVmYXVsdCIsImF1ZCI6ImFwaTovL2RlZmF1bHQiLCJpYXQiOjE2MjQzMzMyNjMsImV4cCI6MTYyNDMzNjg2MywiY2lkIjoiMG9hend2OXgxblI1SWVXN20ycDYiLCJ1aWQiOiIwMHUxMGZxYnZ1aFcwMGU2eDJwNyIsInNjcCI6WyJvcGVuaWQiLCJwcm9maWxlIl0sInN1YiI6InJvYi5kZXlAbWV0c2VydmljZS5jb20ifQ.jNpvQKTn3hpro9rZ0y81sR6XucXLifm0G9RsfAj_zu8JfcLObuKmgMqMdP1v4vlnczJVwSxuoAq-DRv3Hp9jHior1_2c_W2VLv9Iqr3UKkJpuLiy_8LeKgq4nX5icCw21oq4OpjVbc88Cr94Pf1GBGHSBDqUOhfwjkewWnR-rECDkHCYOJv_6U9r18t5Hxan0xOl6YgOcs1KT-l32H5wza3R_Yfp2ZV3-RAcpnjw4_rduTkzfl6CmKgsyJYJMJWpQUEvLMMcyXR4Dk-uIinGwsl7kKp6fkbS_yK2vhmWmVGDML5QQoZfTOyNIsjcCBClz2DsXyExkpy68czoTGOa2A

Versions

The APIs are versioned. Different versions can be selected by using HTTP headers. By default, if no version is supplied the last stable version is used.

Refer to the individual API documentation to determine the current version.

Example:

apiVersion: 1.0

Response Messages

The Aviation API returns responses via HTTP status codes. As well as the status codes, brief details about the response are included in the message.

HTTP Status CodeDescription
200OK
400Bad request. The request could not be understood due to malformed syntax or invalid parameters. Check that you have the correct URL address and parameters.
401Unauthorised
404Not found. The requested resource could not be returned or does not exist. Check that you have the correct URL address or unique identifiers
500Internal server error. The server encountered an unexpected condition that prevented it from fulfilling the request. If this continues, please contact MetService.

Example Error Response:

{
  "Request-ID": "7bfc08a0-984c186024ab291e",
  "Status": "HTTP Error 400",
  "Summary": "The requested URL cannot be processed",
  "Diagnosis": "Invalid value '03' for uri parameter prog. 3 is not a valid enum value",
  "Info": "Refer to the API documentation"
}